VBA中的If…Then…ElseIf 语句 | 您所在的位置:网站首页 › vba do while循环语句举例 › VBA中的If…Then…ElseIf 语句 |
很多时候,你需要检查很多种情况,你可以使用子句ElseIf来将一些If条件结合在一起。使用If…Then…ElseIf语句,你可以比用前面章节中的If…Then…Else语句评估更多的条件。这里是If…Then…ElseIf语句的语法: If 条件1 Then 条件1为真时要执行的语句 ElseIf 条件2 Then 条件2为真时要执行的语句 ElseIf 条件3 Then 条件3为真时要执行的语句 ElseIf 条件N Then 条件N为真时要执行的语句 Else 所有条件都为假时要执行的语句 End IfElse子句是可选的;如果当所有条件为假时,没有要执行的操作,那么你就可以忽略它。 技巧:ElseIf子句你的程序里可以包括任何多个ElseIf子句和条件。ElseIf子句总是出现在Else子句之前的,只有当ElseIf子句的条件为真时,它的语句才会被执行。我们来看看下述例子: If ActiveCell.Value = 0 Then ActiveCell.Offset(0, 1).Value = "zero" ElseIf ActiveCell.Value >0 Then ActiveCell.Offset(0, 1).Value = "positive" ElseIf ActiveCell.Value 0),如果该值不大于0,VB将跳到下个ElseIf并检查条件ActiveCell.Value 0 Then ActiveCell.Offset(0, 1).Value = "positive" ElseIf ActiveCell.Value < 0 Then ActiveCell.Offset(0, 1).Value = "negative" ‘End If (原文错误,多一个End If) End If End Sub因为你需要运行过程WhatValue好几次来测试各种条件,所以,我们给它设置个临时的快捷键。 4. 打开立即窗口,并且输入下列语句: Application.OnKey "^+y", "WhatValue"一旦按下回车键,VB就会运行OnKey方法将过程WhatValue赋予组合键Ctrl+Shift+Y。这个键盘快捷键只是临时的——当你重新启动Excel后它就不起作用了。你同样也可以用Excel界面-工具菜单-宏对话框里的选项来设置快捷键。 5. 切换到Excel界面,并激活Sheet1 6. 在单元格A1里输入0,并且按下Ctrl+Shift+Y。VB将调用过程WhatValue并在单元格B1厘米输入“zero” 7. 在单元格A1里输入任意大于0的数字,并按下Ctrl+Shift+Y,VB将再次调用WhatValue。VB评估第一种条件,因为该测试的结果为假,所以它跳到ElseIf语句。第二个条件为真,因此VB执行Then后面的语句,并且跳过下一条语句,直接到EndIf。因为EndIf后面并没有其它的语句了,该过程便结束了,单元格B1现在显示“positive”。 8. 在单元格A1里输入任意小于0的数字,并按下Ctrl+Shift+Y。这次,前面两个条件都返回假,因此VB继续检查第三个条件。因为这次的测试为真,VB就在单元格B1里贴上标签“negative” 9. 在单元格A1里输入任何文本,并按下Ctrl+Shift+Y,VB的反应是“positive”,然而,这不是个满意的答案。你也许希望VB通过显示“text”来区分开正数和文本。要使你的过程WhatValue更“聪明”些,你就需要学习如何通过使用嵌套的If…Then语句来作一些更复杂的决定。 |
CopyRight 2018-2019 实验室设备网 版权所有 |